//
//  HKDataSource.m
//  YNDemo
//
//  Created by 胡锦涛 on 2020/11/13.
//

#import "HKDataSource.h"
#import "HKMacro.h"
@implementation HKDataSource

-(NSMutableArray *)dataArray {
    if (!_dataArray) {
        _dataArray = @[].mutableCopy;
    }
    return _dataArray;
}

- (id)initWithIdentifier:(NSString *)identifier configureBlock:(YNCellConfigure)configure {
    if (self = [super init]) {
        _cellIdentifier = identifier;
        _cellConfigure = [configure copy];
    }
    return self;
}

-(void)addDataArray:(NSArray *)array {
    if (!array) {
        return;
    }
    if (self.dataArray.count>0) {
        [self.dataArray removeAllObjects];
    }
    [self.dataArray addObjectsFromArray:array];
}

- (id)modelsAtIndexPath:(NSIndexPath*)indexPath {
    return self.dataArray.count > indexPath.row ? self.dataArray[indexPath.row] : nil;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return !self.dataArray ? 0 : self.dataArray.count;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:self.cellIdentifier forIndexPath:indexPath];
    id model = [self modelsAtIndexPath:indexPath];
    if (self.cellConfigure) {
        self.cellConfigure(cell, model, indexPath);
    }
    //cell.textLabel.text = @"1";
    cell.backgroundColor = [UIColor redColor];
    return cell;
}
#pragma mark -- 列表快速创建 --
+(UITableView *)setupTableView {
    UITableView * tableView  = [[UITableView alloc] initWithFrame:HK_DEVICE_BOUNDS style:UITableViewStyleGrouped];
    tableView.backgroundColor = [UIColor whiteColor];
    // 分割线颜色
    tableView.separatorColor = [UIColor redColor];
    // 隐藏分割线
    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    return tableView;
}
@end
